package com.nmsl.mapper;

import com.nmsl.domain.GyfDoctorSchedule;

import java.util.Date;
import java.util.List;

/**
* @author Lenovo
* @description 针对表【doctor_schedule(医生排班表)】的数据库操作Mapper
* @createDate 2025-02-19 10:59:26
* @Entity com.nmsl.domain.DoctorSchedule
*/
public interface GyfDoctorScheduleMapper {

    int deleteByPrimaryKey(Long id);

    int insert(GyfDoctorSchedule record);

    int insertSelective(GyfDoctorSchedule record);

    GyfDoctorSchedule selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(GyfDoctorSchedule record);

    int updateByPrimaryKey(GyfDoctorSchedule record);



    //通过医生的id和预约日期来查询  排班信息
    GyfDoctorSchedule selectByDoctorIdAndDate(int doctorId, Date date);





    /**
     * 查询医生排班
     *
     * @param scheduleId 医生排班主键
     * @return 医生排班
     */
    public GyfDoctorSchedule selectGyfDoctorScheduleByScheduleId(Long scheduleId);

    /**
     * 查询医生排班列表
     *
     * @param gyfDoctorSchedule 医生排班
     * @return 医生排班集合
     */
    public List<GyfDoctorSchedule> selectGyfDoctorScheduleList(GyfDoctorSchedule gyfDoctorSchedule);

    /**
     * 新增医生排班
     *
     * @param gyfDoctorSchedule 医生排班
     * @return 结果
     */
    public int insertGyfDoctorSchedule(GyfDoctorSchedule gyfDoctorSchedule);

    /**
     * 修改医生排班
     *
     * @param gyfDoctorSchedule 医生排班
     * @return 结果
     */
    public int updateGyfDoctorSchedule(GyfDoctorSchedule gyfDoctorSchedule);

    /**
     * 删除医生排班
     *
     * @param scheduleId 医生排班主键
     * @return 结果
     */
    public int deleteGyfDoctorScheduleByScheduleId(Long scheduleId);

    /**
     * 批量删除医生排班
     *
     * @param scheduleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGyfDoctorScheduleByScheduleIds(Long[] scheduleIds);
}
